package cn.dglydrpy.study.algorithm.od;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author Yyy
 * @date 2024/11/10 9:57
 * @description  自定义排序比较器
 * 给定一个非空整型数组，需按照数组元素十进制最低位从小到大排序，最低位相同元素相对位置不变，数组元素为负值时，
 * 十进制最低位等同于去除符号位后的十进制值最低位
 输入：
1,2,5,-21,22,11,55,-101,42,8,7,32
 输出：
1,-21,11,-101,2,22,42,32,5,55,7,8
 */
public class Od0030_IntergerSort {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextLine()){
            String[] split = scanner.nextLine().split(",");
            Integer[] arr = new Integer[split.length];
            for(int i = 0;i<split.length;i++){
                arr[i] = Integer.valueOf(split[i]);
            }
            
            String ans = myAnswer(arr);
            System.out.println(ans);
        }
        
       
    }

    private static String myAnswer(Integer[] arr) {
        if(arr == null || arr.length == 0){
            return  "";
        }

        Arrays.sort(arr,
                (a1,a2)->{
                  return Math.abs((Integer) a1) % 10 - Math.abs((Integer) a2) % 10;
                });
        
        StringBuilder ans = new StringBuilder();
        
        for(int i=0;i<arr.length;i++){
            
            ans.append(arr[i]);
            if(i < arr.length -1){
                ans.append(",");
            }
        }
        
        return ans.toString();
        
    }
}
